package com.apartment.own.mapper;


import com.apartment.own.domain.OwnSystemArea;
import io.lettuce.core.dynamic.annotation.Param;

import java.util.List;

/**
 * 地区码Mapper接口
 * 
 * @author ruoyi
 * @date 2020-03-25
 */
 public  interface OwnSystemAreaMapper
{
    /**
     * 查询地区码
     * 
     * @param areaid 地区码ID
     * @return 地区码
     */
    public OwnSystemArea selectOwnSystemAreaById(@Param(value = "areaid") Long areaid);

    /**
     * 查询地区码列表
     *
     * @param ownSystemArea 地区码
     * @return 地区码集合
     */
    public List<OwnSystemArea> selectOwnSystemAreaList(OwnSystemArea ownSystemArea);

    /**
     * 首字母排序
     *
     * @param ownSystemArea 地区码对象
     * @return 地区码集合
     */
    public List<OwnSystemArea> selectInitialSort(OwnSystemArea ownSystemArea);


    /**
     * 地址模糊搜索   显示 县 和 市
     *
     * @param areaname 地区名字
     * @return 地区码集合
     */
    public List<OwnSystemArea> selectFuzzySearchOwnSystemAreaList(@Param(value = "areaname") String areaname);

    /**
     * 测试
     * @param ownSystemArea 对象
     * @return 集合
     */
    public List<OwnSystemArea> selectTest(OwnSystemArea ownSystemArea);

    /**
     * 查询省市
     */
    public List<OwnSystemArea> selectTAreaProvince();


    /**
     * 查询市/县/区
     * @param areaid 地区码ID
     * @return 地区码集合
     */
    public List<OwnSystemArea> selectTAreaToCity(@Param(value = "areaid") Long areaid);
    /**
     * 新增地区码
     *
     * @param ownSystemArea 地区码
     * @return 结果
     */
    public int insertOwnSystemArea(OwnSystemArea ownSystemArea);

    /**
     * 修改地区码
     *
     * @param ownSystemArea 地区码
     * @return 结果
     */
    public int updateOwnSystemArea(OwnSystemArea ownSystemArea);

    /**
     * 删除地区码
     *
     * @param areaid 地区码ID
     * @return 结果
     */
    public int deleteOwnSystemAreaById(Long areaid);

    /**
     * 批量删除地区码
     *
     * @param areaids 需要删除的数据ID
     * @return 结果
     */
    public int deleteOwnSystemAreaByIds(String[] areaids);

    /**
     * @Description:首字母排序
     * @return: java.util.List<com.apartment.own.domain.OwnSystemArea>
     * @Author: @Dog_E
     * @Date: 2020/9/10 0010 10:06
     **/
    public List<OwnSystemArea> sortFirstAlphabeticallyByCity();
}
